package io.geekidea.boot.shop.service.base.api;

import com.baomidou.mybatisplus.extension.service.IService;
import io.geekidea.boot.framework.page.Paging;
import io.geekidea.boot.shop.dto.RechargeUseDto;
import io.geekidea.boot.shop.entity.RechargeUse;
import io.geekidea.boot.shop.query.app.AppRechargeUseQuery;
import io.geekidea.boot.shop.query.web.RechargeUseQuery;
import io.geekidea.boot.shop.vo.app.AppRechargeUseVo;
import io.geekidea.boot.shop.vo.web.RechargeUseVo;


/**
 *  服务接口
 *
 * @author geekidea
 * @since 2024-10-27
 */
public interface RechargeUseService extends IService<RechargeUse> {

    /**
     * 添加
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean addRechargeUse(RechargeUseDto dto);

    /**
     * 修改
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean updateRechargeUse(RechargeUseDto dto);

    /**
     * 删除
     *
     * @param id
     * @return
     * @throws Exception
     */
    boolean deleteRechargeUse(Integer id);

    /**
     * 详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    RechargeUseVo getRechargeUseById(Integer id);

    /**
     * 分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<RechargeUseVo> getRechargeUsePage(RechargeUseQuery query);

    /**
     * Appnull详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    AppRechargeUseVo getAppRechargeUseById(Integer id);

    /**
     * Appnull分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<AppRechargeUseVo> getAppRechargeUsePage(AppRechargeUseQuery query);

}
